class TextKey {
  // 通用
  static const confirm = 'confirm';
  static const cancel = 'cancel';
  static const save = 'save';
  static const delete = 'delete';
  static const edit = 'edit';
  static const loading = 'loading';
  static const success = 'success';
  static const error = 'error';
  static const close = 'close';
  static const retry = 'retry';
  static const noData = 'noData';
  static const clear = 'clear';
  static const clearHint = 'clear_hint';
  static const passwordVisible = 'password_visible_switch';
  static const passwordVisibleHint = 'password_visible_hint';
  static const refresh = 'refresh';
  static const openLinkFailed = 'open_link_failed';
  static const dialFailed = 'dial_failed';


  // 验证码
  static const getVerifyCode = 'getVerifyCode';
  static const verifyCodeCountdown = 'verifyCodeCountdown'; // (xx s)
  static const verifyCodeSent = 'verifyCodeSent';
  static const verifyCodeError = 'verifyCodeError';

  // 输入框提示
  static const inputPhone = 'input_phone';
  static const inputEmail = 'input_email';
  static const inputPassword = 'input_password';
  static const inputVerifyCode = 'input_verify_code';
  static const inputPhoneOrEmail = 'inputPhoneOrEmail';
  static const phoneRegionHint = 'phoneRegionHint';

  // 登录相关
  static const loginTitle = 'loginTitle';
  static const loginPassword = 'loginPassword';
  static const loginSMS = 'loginSMS';
  static const loginPhone = 'loginPhone';
  static const loginForgetPassword = 'loginForgetPassword';
  static const loginNoAccount = 'loginNoAccount';
  static const loginButton = 'loginButton';
  static const loginSuccess = 'loginSuccess';
  static const loginFailed = 'loginFailed';

  // 重置密码
  static const resetTitle = 'resetTitle';
  static const resetPasswordTitle = 'reset_password_title';
  static const resetPasswordHint = 'reset_password_hint';
  static const resetConfirm = 'resetConfirm';
  static const resetSuccess = 'resetSuccess';
  static const resetFailed = 'resetFailed';

  // 底部导航
  static const navHome = 'navHome';
  static const navFacility = 'navFacility';
  static const navTransliteration = 'navTransliteration';
  static const navDeviceLocation = 'navDeviceLocation';
  static const navPersonal = 'navPersonal';

  // 个人中心
  static const personalTitle = 'personalTitle';
  static const personalNickNameDefault = 'personalNickNameDefault';
  static const personalRemainingTime = 'personalRemainingTime';
  static const personalRemainingTimeValue = 'personalRemainingTimeValue';
  static const personalTranscriptionRecord = 'personalTranscriptionRecord';
  static const personalConsumptionRecord = 'personalConsumptionRecord';
  static const personalHelpCenter = 'personal_help_center';
  static const personalSubscription = 'personalSubscription';
  static const personalWhitelist = 'personalWhitelist';
  static const personalLanguage = 'personalLanguage';
  static const personalOtaUpdate = 'personalOtaUpdate';
  static const personalAboutUs = 'personalAboutUs';
  static const personalTest = 'personalTest';

  // 设置
  static const settingsTitle = 'settingsTitle';
  static const settingsProfile = 'settingsProfile';
  static const settingsAvatar = 'settingsAvatar';
  static const settingsNickname = 'settingsNickname';
  static const settingsGender = 'settingsGender';
  static const settingsLanguage = 'settingsLanguage';
  static const settingsTheme = 'settingsTheme';
  static const settingsVersion = 'settingsVersion';
  static const settingsLogout = 'settingsLogout';

  // 转写相关
  static const transTitle = 'transTitle';
  static const transStart = 'transStart';
  static const transPause = 'transPause';
  static const transResume = 'transResume';
  static const transStop = 'transStop';
  static const transResult = 'transResult';
  static const transSave = 'transSave';
  static const transHistory = 'transHistory';
  static const transNoPermission = 'transNoPermission';
  static const String transcriptionPermissionError =
      'transcription_permission_error'; // Key for "Microphone permission required"
  static const String transcriptionStartRecording =
      'transcription_start_recording'; // Key for "Start recording"
  static const String transcriptionStopRecording =
      'transcription_stop_recording'; // Key for "Stop recording"
  static const String transcriptionUploadSuccess =
      'transcription_upload_success'; // Key for "Upload successful"
  static const String transcriptionUploadError =
      'transcription_upload_error'; // Key for "Upload failed"

  // 订阅会员
  static const vipTitle = 'vipTitle';
  static const vipCurrentPlan = 'vipCurrentPlan';
  static const vipExpireDate = 'vipExpireDate';
  static const vipUpgrade = 'vipUpgrade';
  static const vipBenefits = 'vipBenefits';
  static const vipPrice = 'vipPrice';
  static const vipPurchase = 'vipPurchase';

  // 白名单管理
  static const whitelistTitle = 'whitelist_title'; // Key for "Whitelist"
  static const whitelistAdd = 'whitelistAdd';
  static const whitelistEdit = 'whitelistEdit';
  static const whitelistDelete = 'whitelistDelete';
  static const whitelistName = 'whitelistName';
  static const whitelistPhone = 'whitelistPhone';

  // 昵称页面
  static const nicknameTitle = 'nicknameTitle';
  static const nicknameSave = 'nicknameSave';
  static const nicknameHint = 'nicknameHint';
  static const nicknameSuccess = 'nicknameSuccess';
  static const nicknameEmptyError = 'nicknameEmptyError';

  // 关于页面
  static const aboutTitle = 'aboutTitle';
  static const aboutOfficialMedia = 'aboutOfficialMedia';
  static const aboutWebsite = 'aboutWebsite';
  static const aboutFacebook = 'aboutFacebook';
  static const aboutTiktok = 'aboutTiktok';
  static const aboutLegal = 'aboutLegal';
  static const aboutUserAgreement = 'aboutUserAgreement';
  static const aboutPrivacyPolicy = 'aboutPrivacyPolicy';

  // 修改密码页面
  static const passwordTitle = 'passwordTitle';
  static const passwordSave = 'passwordSave';
  static const passwordHint = 'passwordHint';

  // 个人资料页面
  static const profileTitle = 'profileTitle';
  static const profileNickname = 'profileNickname';
  static const profileEmail = 'profileEmail';
  static const profilePassword = 'profilePassword';
  static const profileNotSet = 'profileNotSet';
  static const profileLogoutSuccess = 'profileLogoutSuccess';

  // 消费记录页面
  static const consumptionRecordTitle =
      'consumption_record_title'; // Key for "Consumption Record"
  static const currentSubscription =
      'current_subscription'; // Key for "Current Subscription"
  static const filter = 'filter'; // Key for "Filter"
  static const allStatus = 'all_status'; // Key for "All Status"
  static const allDates = 'all_dates'; // Key for "All Dates"
  static const statusActive = 'statusActive';
  static const statusExpired = 'statusExpired';
  static const dateLastWeek = 'dateLastWeek';
  static const dateLastMonth = 'dateLastMonth';
  static const dateLastYear = 'dateLastYear';

  // 转写记录页面
  static const transcriptionRecordTitle = 'transcriptionRecordTitle';
  static const statusSuccess = 'statusSuccess';
  static const statusFailed = 'statusFailed';
  static const statusInProgress = 'statusInProgress';

  // 用户管理页面
  static const addWhitelist = 'addWhitelist';
  static const confirmDelete = 'confirmDelete';
  static const confirmDeleteMessage = 'confirmDeleteMessage';

  // 订阅会员
  static const String subscription = 'subscription';
  static const String subscriptionPro = 'subscription_pro';
  static const String subscriptionUpgradeTip = 'subscription_upgrade_tip';
  static const String subscriptionPurchase = 'subscription_purchase';
  static const String subscriptionAgreementPrefix =
      'subscription_agreement_prefix';
  static const String subscriptionTerms = 'subscription_terms';
  static const String subscriptionAnd = 'subscription_and';
  static const String subscriptionServiceAgreement =
      'subscription_service_agreement';

  // 录音相关
  static const String recordStart = 'record_start';
  static const String recordStop = 'record_stop';
  static const String recordHoldToStart = 'record_hold_to_start';
  static const String recordReleaseToStop = 'record_release_to_stop';
  static const String uploadConfirm = 'upload_confirm';
  static const String uploadReRecord = 'upload_re_record';
  static const String transcriptionTitle = 'transcription_title';

  // 转写详情相关
  static const String transcriptionDetailsTitle = 'transcription_details_title';
  static const String transcriptionDetailsClose = 'transcription_details_close';
  static const String transcriptionDetailsShare = 'transcription_details_share';
  static const String transcriptionDetailsSearch =
      'transcription_details_search';
  static const String transcriptionDetailsConvert =
      'transcription_details_convert';
  static const String transcriptionDetailsBookmark =
      'transcription_details_bookmark';
  static const String transcriptionDetailsLike = 'transcription_details_like';
  static const String transcriptionDetailsPlay = 'transcription_details_play';
  static const String transcriptionDetailsDirectory =
      'transcription_details_directory';
  static const String transcriptionDetailsNoBookmarks =
      'transcription_details_no_bookmarks';
  static const String transcriptionDetailsShareText =
      'transcription_details_share_text';

  // 音频播放器相关
  static const String audioPlayerLoading = 'audio_player_loading';
  static const String audioPlayerPlay = 'audio_player_play';
  static const String audioPlayerPause = 'audio_player_pause';
  static const String audioPlayerRewind = 'audio_player_rewind';
  static const String audioPlayerFastForward = 'audio_player_fast_forward';
  static const String audioPlayerVolume = 'audio_player_volume';
  static const String audioPlayerSpeed = 'audio_player_speed';

  // 过滤器相关
  static const String filterReset = 'filter_reset';
  static const String filterConfirm = 'filter_confirm';

  // 书签相关
  static const String bookmarkListTitle = 'bookmark_list_title';
  static const String bookmarkListEmpty = 'bookmark_list_empty';
  static const String bookmarkListCount = 'bookmark_list_count';

  // 分享相关
  static const String share = 'share';
  static const String shareAudio = 'shareAudio';
  static const String shareAll = 'shareAll';

  // 设备相关
  static const String deviceBindTitle =
      'device_bind_title'; // Key for "Bind Device"
  static const String deviceSnLabel = 'device_sn_label'; // Key for "Device SN"
  static const String deviceBindSuccess =
      'device_bind_success'; // Key for "Device bound successfully"
  static const String deviceUnbindSuccess =
      'device_unbind_success'; // Key for "Device unbound successfully"
  static const String deviceNoDevices =
      'device_no_devices'; // Key for "No devices to display"
  static const String deviceDeleteConfirm =
      'device_delete_confirm'; // Key for "Confirm delete"
  static const String deviceDeleteMessage =
      'device_delete_message'; // Key for "Are you sure you want to delete this device?"
  static const String scanningPageTitle =
      'scanning_page_title'; // Key for "Scan Device QR Code"
  static const String deviceBindFailed =
      'device_bind_failed'; // Key for "Device binding failed:"
  static const String deviceBindButton = 'device_bind_button'; // Key for "Bind"
  static const String deviceUnbindFailed =
      'device_unbind_failed'; // Key for "Device unbinding failed:"
  static const String deviceListTitle =
      'device_list_title'; // Key for "My Devices"
  static const String unnamedDevice =
      'unnamed_device'; // Key for "Unnamed Device"
  static const String deviceIdLabel = 'device_id_label'; // Key for "ID: "
  static const String deviceCallButton = 'device_call_button'; // Key for "Call"
  static const String gear = 'gear'; // Key for "Gear"

  // 输入框相关
  static const String getVerificationCode =
      'get_verification_code'; // Key for "Get Verification Code"

  // 头像相关
  static const String avatarCamera = 'avatar_camera'; // Key for "Camera"
  static const String avatarGallery = 'avatar_gallery'; // Key for "Gallery"
  static const String avatarUploadError =
      'avatar_upload_error'; // Key for "Unable to access camera/gallery"
  static const String cropAvatar = 'crop_avatar'; // Key for "Crop Avatar"

  // 音频上传相关
  static const String audioUploadInProgress =
      'audio_upload_in_progress'; // Key for "Uploading..."
  static const String audioUploadSuccess =
      'audio_upload_success'; // Key for "Upload successful"
  static const String audioUploadError =
      'audio_upload_error'; // Key for "Upload failed"

  // 用户管理相关
  static const String userManagementLoadError =
      'user_management_load_error'; // Key for "Failed to load user list"
  static const String userManagementAddSuccess =
      'user_management_add_success'; // Key for "Add successful"
  static const String userManagementAddError =
      'user_management_add_error'; // Key for "Add failed"
  static const String userManagementUpdateSuccess =
      'user_management_update_success'; // Key for "Update successful"
  static const String userManagementUpdateError =
      'user_management_update_error'; // Key for "Update failed"
  static const String userManagementDeleteSuccess =
      'user_management_delete_success'; // Key for "Delete successful"
  static const String userManagementDeleteError =
      'user_management_delete_error'; // Key for "Delete failed"
  static const String userManagementSelectText =
      'user_management_select_text'; // Key for "Please select a user"

  // 用户卡片相关
  static const String userCardPhoneLabel =
      'user_card_phone_label'; // Key for "手机号："
  static const String userCardEdit = 'user_card_edit'; // Key for "编辑"
  static const String userCardDelete = 'user_card_delete'; // Key for "删除"

  // 用户编辑对话框相关
  static const String userEditDialogTitleAdd =
      'user_edit_dialog_title_add'; // Key for "Add to Whitelist"
  static const String userEditDialogTitleEdit =
      'user_edit_dialog_title_edit'; // Key for "Edit Whitelist"
  static const String userEditDialogNameLabel =
      'user_edit_dialog_name_label'; // Key for "Username"
  static const String userEditDialogNameHint =
      'user_edit_dialog_name_hint'; // Key for "Please enter username"
  static const String userEditDialogPhoneLabel =
      'user_edit_dialog_phone_label'; // Key for "Phone Number"
  static const String userEditDialogPhoneHint =
      'user_edit_dialog_phone_hint'; // Key for "Please enter phone number"
  static const String userEditDialogConfirm =
      'user_edit_dialog_confirm'; // Key for "Confirm"
  static const String userEditDialogCancel =
      'user_edit_dialog_cancel'; // Key for "Cancel"
  static const String userEditDialogErrorEmptyName =
      'user_edit_dialog_error_empty_name'; // Key for "Username cannot be empty"
  static const String userEditDialogErrorInvalidPhone =
      'user_edit_dialog_error_invalid_phone'; // Key for "Please enter a valid phone number"
  static const String userEditDialogDefaultRole =
      'user_edit_dialog_default_role'; // Key for "Whitelist"

  // 订阅状态卡片相关
  static const String subscriptionStatusCardType =
      'subscription_status_card_type'; // Key for "Subscription Type"
  static const String subscriptionStatusCardStartDate =
      'subscription_status_card_start_date'; // Key for "Start Date"
  static const String subscriptionStatusCardEndDate =
      'subscription_status_card_end_date'; // Key for "End Date"

  // 订阅功能表相关
  static const String subscriptionFeatureTableHeader =
      'subscription_feature_table_header'; // Key for "Subscription Features"
  static const String subscriptionFeatureTableGeneralDuration =
      'subscription_feature_table_general_duration'; // Key for "General Duration"
  static const String subscriptionFeatureTableStorageSpace =
      'subscription_feature_table_storage_space'; // Key for "Storage Space"
  static const String subscriptionFeatureTableCloudFolder =
      'subscription_feature_table_cloud_folder'; // Key for "Cloud Folder"
  static const String subscriptionFeatureTableCloudRecycleBin =
      'subscription_feature_table_cloud_recycle_bin'; // Key for "Cloud Recycle Bin"
  static const String subscriptionFeatureTableShareSave =
      'subscription_feature_table_share_save'; // Key for "Share Save"
  static const String subscriptionFeatureTableAISummary =
      'subscription_feature_table_ai_summary'; // Key for "AI Summary"
  static const String subscriptionFeatureTableAITranslation =
      'subscription_feature_table_ai_translation'; // Key for "AI Translation"

  // 会员记录卡片相关
  static const String membershipRecordCardStartDate =
      'membership_record_card_start_date'; // Key for "Start Date"
  static const String membershipRecordCardEndDate =
      'membership_record_card_end_date'; // Key for "End Date"
  static const String membershipRecordCardActive =
      'membership_record_card_active'; // Key for "Active"
  static const String membershipRecordCardExpired =
      'membership_record_card_expired'; // Key for "Expired"

  // 转写项目相关
  static const String transcriptionItemDate =
      'transcription_item_date'; // Key for "Date"
  static const String transcriptionItemDuration =
      'transcription_item_duration'; // Key for "Duration"
  static const String transcriptionItemStatusCompleted =
      'transcription_item_status_completed'; // Key for "Completed"
  static const String transcriptionItemStatusFailed =
      'transcription_item_status_failed'; // Key for "Failed"
  static const String transcriptionItemStatusInProgress =
      'transcription_item_status_in_progress'; // Key for "In Progress"

  // 白名单相关
  static const String whitelistAddSuccess =
      'whitelist_add_success'; // Key for "Added to Whitelist"
  static const String whitelistAddError =
      'whitelist_add_error'; // Key for "Failed to Add to Whitelist"
  static const String whitelistEditSuccess =
      'whitelist_edit_success'; // Key for "Edited Whitelist"
  static const String whitelistEditError =
      'whitelist_edit_error'; // Key for "Failed to Edit Whitelist"
  static const String whitelistDeleteSuccess =
      'whitelist_delete_success'; // Key for "Deleted from Whitelist"
  static const String whitelistDeleteError =
      'whitelist_delete_error'; // Key for "Failed to Delete from Whitelist"

  // 订阅相关
  static const String subscriptionSelectPlan =
      'subscription_select_plan'; // Key for "Please select a plan"
  static const String subscriptionAgreement =
      'subscription_agreement'; // Key for "Please review and accept the service agreement"
  static const String quarterlyVIP = 'quarterly_vip'; // Key for "Quarterly VIP"
  static const String monthlyMembership =
      'monthly_membership'; // Key for "Monthly Membership"
  static const String quarterlyMembership =
      'quarterly_membership'; // Key for "Quarterly Membership"

  // 消费记录相关
  static const String noCallRecords = 'no_call_records';

  // 刷新相关
  static const String refreshDragText = 'refresh_drag_text'; // Key for "下拉刷新"
  static const String refreshArmedText = 'refresh_armed_text'; // Key for "释放开始"
  static const String refreshReadyText = 'refresh_ready_text'; // Key for "刷新中..."
  static const String refreshProcessingText = 'refresh_processing_text'; // Key for "刷新中..."
  static const String refreshProcessedText = 'refresh_processed_text'; // Key for "刷新成功"
  static const String refreshNoMoreText = 'refresh_no_more_text'; // Key for "没有更多"
  static const String refreshFailedText = 'refresh_failed_text'; // Key for "刷新失败"
  static const String refreshMessageText = 'refresh_message_text'; // Key for "最后更新于 %T"

  // Footer相关
  static const String footerDragText = 'footer_drag_text'; // Key for "上拉加载"
  static const String footerArmedText = 'footer_armed_text'; // Key for "释放开始"
  static const String footerReadyText = 'footer_ready_text'; // Key for "加载中..."
  static const String footerProcessingText = 'footer_processing_text'; // Key for "加载中..."
  static const String footerProcessedText = 'footer_processed_text'; // Key for "加载成功"
  static const String footerNoMoreText = 'footer_no_more_text'; // Key for "没有更多"
  static const String footerFailedText = 'footer_failed_text'; // Key for "加载失败"
  static const String footerMessageText = 'footer_message_text'; // Key for "最后更新于 %T"

  // 新版本标题
  static const newVersionTitle = 'newVersionTitle'; // Renamed key for "New Version"

  // 更新相关
  static const update = 'update'; // Key for "Update"

  // 文件夹相关
  static const folderNameAllFiles = 'folderNameAllFiles'; // Key for "全部文件"
  static const addSuccess = 'addSuccess'; // Key for "添加成功"
  static const addFailure = 'addFailure'; // Key for "添加失败"
  static const editSuccess = 'editSuccess'; // Key for "修改成功"
  static const editFailure = 'editFailure'; // Key for "修改失败"
  static const deleteSuccess = 'deleteSuccess'; // Key for "删除成功"
  static const deleteFailure = 'deleteFailure'; // Key for "删除失败"
  static const moveSuccess = 'moveSuccess'; // Key for "移动成功"
  static const moveFailure = 'moveFailure'; // Key for "移动失败"

  // 添加文件夹相关
  static const addFolderTitle = 'addFolderTitle'; // Key for "添加文件夹"
  static const folderNameHint = 'folderNameHint'; // Key for "请输入文件夹名称"
  static const addButtonText = 'addButtonText'; // Key for "添加"

  // 编辑文件夹相关
  static const editFolderTitle = 'editFolderTitle'; // Key for "修改文件夹名称"
  static const folderNameRequired = 'folderNameRequired'; // Key for "请输入文件夹名称"

  // 文件夹管理相关
  static const folderManagementTitle = 'folderManagementTitle'; // Key for "文件夹管理"
  static const unnamedFolder = 'unnamedFolder'; // Key for "未命名"
  static const deleteConfirmation = 'deleteConfirmation'; // Key for "确定要删除 {folderName} 吗？"

  static const latestVersion = 'latestVersion';
  static const downloadLinkError = 'downloadLinkError';

  static const subscriptionMonth = 'subscriptionMonth';
  static const subscriptionDay = 'subscriptionDay';
  static const subscriptionItem = 'subscriptionItem';
}
